double lv3_cloudspos []= {-3520};

void crea_clouds()
{
    clouds.alpha=255;                                                           // fija el nivel de alpha
    clouds.createxturas("sprites/clouds.dat");
    clouds.x=0;
    clouds.y=0;
    clouds.animstart=0;
    clouds.animpos=0;
    clouds.animcount=2;
    clouds.animspeed=25;
    clouds.escala=1.0;
    clouds.visible=true;                                                        
    for (int i=0;i<3;i++)
    { 
        cloudss[i].x=-32;
        cloudss[i].y=32;
        cloudss[i].activo=false;
    }
    cloudss[0].x=-456;    
} 


void pinta_clouds(float scrollpos)                                                      // mod 0: con jefes, 1 en fase
{

    if (scrollpos == lv3_cloudspos[0])
    {
      for (int a=0;a<3;a++) if (cloudss[a].activo==false)
        {     
            cloudss[a].x-=32;
            cloudss[a].y=32;
            cloudss[a].activo=true; 
            cloudss[a].hit=false;     
            cloudss[0].count++;
        }    
    }
   for (int i=0;i<3;i++)
   {    
		if (cloudss[i].activo==true)
		{
			clouds.x=cloudss[i].x;
			clouds.y=cloudss[i].y;
			if (cloudss[i].hit==true)
			{
				if (cloudss[i].y<480) 
				{
					cloudss[i].y+=6;                                                // velocidad de caida de las nubes
					cloudss[i].x+=cloudss[i].dir;                                   // direccion de caida.
				} 
				if (cloudss[i].y>480) 
				{
					cloudss[i].x=-32;
					if (i==0) cloudss[i].x=-456;
					cloudss[i].y=32;
					cloudss[i].hit=false;
					cloudss[i].activo=false;
					cloudss[0].count-=1;     // uno menos 
					break;
				}
			}
			else
			{
				srand((unsigned)time(0)); 
				int resto=rand()%2;
				if (i==1) 
				{
					cloudss[i].x+=0.6;
					if (cloudss[i].x>640) 
					{
						cloudss[i].x=-32;
						cloudss[i].y+=48;
					}
					if (resto==0)  cloudss[i].y-=0.2; else cloudss[i].y+=0.2; //
				}
				if (i==2) 
				{
					cloudss[i].x-=0.6;
					if (cloudss[i].x<-32) 
					{
						cloudss[i].x=672;
						cloudss[i].y+=48;
					}
					if (resto==0) cloudss[i].y+=0.2; else cloudss[i].y-=0.2; //
				}
				if (i==0) 
				{
					cloudss[i].x+=0.6;
					if (cloudss[i].x>640) 
					{
						cloudss[i].x=-64;
						cloudss[i].y+=48;
					}
					if (resto==0) cloudss[i].y-=0.2; else cloudss[i].y+=0.2; //
				}
			}   // ELSE END
			clouds.pinta();
			clouds.anima();
        } // IF END
    } // END FOR 
} // Function end 

void pinta_clouds_bosszone()                                                      // mod 0: con jefes, 1 en fase
{
    for (int i=0;i<3;i++)
    {
        clouds.x=cloudss[i].x;
        clouds.y=cloudss[i].y;
        if (cloudss[i].hit==true)
        {
            if (cloudss[i].y<480) 
            {
                cloudss[i].y+=6;                                                // velocidad de caida de las nubes
                cloudss[i].x+=cloudss[i].dir;                                   // direccion de caida.
            } 
            else
            {
				cloudss[i].x=-32;
				if (i==0) cloudss[i].x=-456;
				cloudss[i].y=32;
				cloudss[i].hit=false;
            }
        }
        else
        {
            srand((unsigned)time(0)); 
            int resto=rand()%2;
            if (i==1) 
            {
                cloudss[i].x+=0.6;
                if (cloudss[i].x>640) 
                {
                    cloudss[i].x=-32;
                    cloudss[i].y+=48;
                }
                if (resto==0)  cloudss[i].y-=0.2; else cloudss[i].y+=0.2; //
            }
            if (i==2) 
            {
                cloudss[i].x-=0.6;
                if (cloudss[i].x<-32) 
                {
                    cloudss[i].x=672;
                    cloudss[i].y+=48;
                }
                if (resto==0) cloudss[i].y+=0.2; else cloudss[i].y-=0.2; //
            }
            if (i==0) 
            {
                cloudss[i].x+=0.6;
                if (cloudss[i].x>640) 
                {
                    cloudss[i].x=-32;
                    cloudss[i].y+=48;
                }
                if (resto==0) cloudss[i].y-=0.2; else cloudss[i].y+=0.2; //
            }
        }   // else end; 
        clouds.pinta();
        clouds.anima();
    } // for end 
}
